package cn.seapon.talkerserver.model;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 控制服务器运行
 * @author Asuron
 * Created on 2015年1月10日 上午10:28:35
 */
public class TalkerServer {
	
	private static ServerSocket serverSocket = null;
	
	public static void startService() {
		try {
			serverSocket = new ServerSocket(10010);
			while (true) {
				//获取连接的套接字
				Socket socket = serverSocket.accept();
				System.out.println("接受一个套接字");			 
				new SocketThread(socket).start();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				if (serverSocket != null) {
					serverSocket.close();	
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	


	/**
	 * 强制关闭
	 * 会导致accept()产生java.net.SocketException异常（java.net.SocketException子类）
	 * @return
	 */
	public static boolean stopService() {
		if (serverSocket == null) {
			System.out.println("服务未在运行");
			return true;
		}else {
			try {
				serverSocket.close();
				return true;
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return false;
	}
	
}
